package com.zx._01_基础._010_util;

import java.util.Arrays;
import java.util.Random;

public class RandomTest {

    public static void main(String[] args) {
        // 将当前时间作为种子，通过算法，生成伪随机数
        Random rand = new Random(System.currentTimeMillis());

        /*
         * 返回下一个伪随机数，它是取自此随机数生成器序列的均匀分布的 boolean 值。nextBoolean
         * 的常规协定是，伪随机地生成并返回一个 boolean 值。值 true 和 false 的生成概率（大致）相同。
         */
        rand.nextBoolean();

        //随机生成一个数组,只能生成byte[]。
        byte[] buffer = new byte[16];
        rand.nextBytes(buffer);
        Arrays.toString(buffer);

        // 生成0.0~1.0之间的伪随机double数
        rand.nextDouble();

        // 生成0.0~1.0之间的伪随机float数
        rand.nextFloat();

        // 生成平均值是 0.0，标准差是 1.0的伪高斯数
        rand.nextGaussian();

        // 生成一个处于int整数取值范围的伪随机整数
        rand.nextInt();

        // 生成0~26之间的伪随机整数
        rand.nextInt(26);

        // 生成一个处于long整数取值范围的伪随机整数
        rand.nextLong();
    }
}
